<?php

    /*

        $soap = new SoapClient("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL");
        exit;

        $mikron->Page->StartBody();
        $soap = new SoapClient("http://91.144.142.145:8801/InfomatService?WSDL");
        $resp = $soap->Operation(Array("MethodName"=>"ping"));
        echo $resp->MethodName;
        $mikron->Page->EndBody();
        exit;

    */

    ini_set('soap.wsdl_cache_enabled', '0');

    /*
    $soap_parameters = Array('proxy_host' => "localhost", 'proxy_port' => 8067, 'connection_timeout'=>3);
    $soap_parameters = Array('connection_timeout'=>3, "trace"=>1, "exceptions" => 1,
        'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP);
    $soap = new SoapClient("http://192.168.20.2:8801/InfomatService?WSDL", $soap_parameters);
         $resp = $soap->Operation(Array("MethodName"=>"ping", "XML" => $parameters));
         $respXML = $resp->MethodName;
         echo htmlspecialchars($respXML);
         unset($resp);
         $a = $soap->__getFunctions();
    echo "<pre>";
    print_r($a);
    echo $soap->__getLastRequestHeaders();
    unset($soap);
    exit;
    */

    $mikron->Site->main();

    //////////////////
    // Об этом файле / 
    //////////////////

    // Этот файл содержит большинство установок приложения. Чтобы приложение смогло его 
    // обнаружить, он должен называться 'globals.inc'. Приложение ищет файл в 
    // текущем каталоге.

    // Проверка наличия нужных классов
    if(!class_exists("DomDocument"))
    {
        echo "Отсутствует модуль DomDocument.";
        exit;    
    }
    if(!class_exists("SoapClient"))
    {
        echo "Отсутствует Soap клиент.";
        exit;    
    }

    $pageindex = 0;
    $prevpage = "page1.php";
    $mainpage = "page1.php";
    $returnbutton_action = "goBack();";
    $nextbutton_action = "goNext();";

    // запускаем Gzip сжатие
    if(isset($_SERVER['HTTP_ACCEPT_ENCODING']))
    {
        if (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) {$miniBB_gzipper_encoding = 'x-gzip';}
        if (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) {$miniBB_gzipper_encoding = 'gzip';}
    }

    // настройка путей
    define('SM_ROOT', AppPath()); //$_SERVER['DOCUMENT_ROOT']."/infomat/");
    define('SM_TEMPLATE', constant('SM_ROOT')."templates/main/");
    $template_main = str_replace($_SERVER['DOCUMENT_ROOT'], "", constant("SM_TEMPLATE"));
    $template_main = str_replace(str_replace("\\", "/", $_SERVER['DOCUMENT_ROOT']), "", constant("SM_TEMPLATE"));
    define('SM_TEMPLATE_WWW', $template_main);

    // дополнительные функции для основной работы
    require_once(dirname(__FILE__).'/../soap.php');
    require_once(dirname(__FILE__).'/../xml/xml.php');

    // timercount("require connect");   

    // session_start();

    // основные настройки инфомата
    $jump_to_main_timer = 90; // in sec
    $codelength = 16; // длина номера идентификатора пациента
    $keupad_button_width = 96; // размер кнопки кейборда
    $schedule_days = 8; // количество дней выводимых в расписании
    $shedule_time_row = 8; // количество талончиков в одном столбце
    $datebegin = date('Y-m-d'); // дата начала вывода для расписания
    $dateend = date('Y-m-d', MikronDateTime::DateAdd("d", $schedule_days, strtotime($datebegin))); // дата последнего дня для расписания
    define('POST_PER_PAGE', 14); // количество врачей на одной странице
    define('TICKETS_PER_LINE', 5); // количество тикетов на одной строчке в контекстном меню

    define('DATEBEGIN', $datebegin);
    define('DATEEND', $dateend);
    // $_SESSION['SERVER'] = "http://localhost:8801/InfomatService?WSDL";

    if(isset($patientcode)&&($patientcode!="")&&($patient->errortext!=""))
    {
        $_SESSION['showerrortext'] = $patient->errortext;
        header("Location: page1.php?recode=".$patient->id."&errortext=".urlencode($patient->errortext));
        exit;
    }

    $help = Array();
    $help[1] = "Введите номер Вашей амбулаторной карты вручную, либо поднесите
                Вашу карточку к считывателю, расположенному на автомате.
                Для лучшей считываемости поднесите штрихкод на расстояние 10см от сканера";
    $help[2] = "Выберите специалиста, к которому Вы желаете записаться на прием."; //<br />Подсказка: Синие стрелочки позволят Вам перематывать список вверх/вниз.";
    $help[3] = "Выберите день, затем время, на которое Вы хотите записаться.";
    $help[4] = "";

    $editMode = isset($_COOKIE['editmode']) ? true: false;

    if(isset($_GET['showeditable']))
    {
        $editMode = true;  
    }

    if(isset($_GET['hideeditable']))
    {
        $editMode = false;  
    }

    if($editMode)
    {
      setcookie("editmode",$editMode, time()+(3600*24)*365, "/");
    }
    else
    {
        setcookie("editmode","", time()-(3600*24)*365, "/");
    }
    define('EDITMODE', $editMode);

    $curpage = $_SERVER["SCRIPT_NAME"];
    $pos = strpos($curpage, "/edit/")===false;
    define('INADMINCENTER', !$pos);

    $imisadmin = (isset($_COOKIE['im_is_admin']) && ($_COOKIE['im_is_admin'] == md5("I'm is administrator")));
    if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
    {
      if((md5($_SERVER['PHP_AUTH_USER'])=="21232f297a57a5a743894a0e4a801fc3") && (md5($_SERVER['PHP_AUTH_PW'])=="174301bda0657419f4ef122e941cda97"))
      {
         define("ISADMIN", true);
      }else{define("ISADMIN", $imisadmin);}
    }else{define("ISADMIN", $imisadmin);}
    if(constant('ISADMIN'))
    {
      if(!isset($_COOKIE["im_is_admin"]))
      {
         setcookie("im_is_admin", md5("I'm is administrator"), time()+(3600*24)*365, "/");
      }
    }

    function ErrorConnectToService()
    {
        global $patient;
        $_SESSION['showerrortext'] = "Сервис временно недоступен. Попробуйте через минуту.";
        header("Location: page1.php?recode=".$patient->id."&errortext=".urlencode("Сервис временно недоступен. Попробуйте через минуту."));
        exit;
    }

    function AppPath()
    {
        return str_replace("\\", "/", dirname(__FILE__)."/");
    }

    function start_menu($id)
    {
        ?><div class="box" id="<?php echo $id;?>" style="display: none; position: absolute; background-color: #ffffff; "><div class="t"><div class="r"><div class="b"><div class="l"><div class="tl"><div class="tr"><div class="br"><div class="bl"><div class="content"><?php
    }

    function end_menu()
    {
        ?></div></div></div></div></div></div></div></div></div></div><?php
    }

    function clearscriptname()
    {
        // return $_SERVER['SCRIPT_NAME'];
        $ret = $_SERVER['REQUEST_URI'];
        $pos = strpos($ret, '?');
        if($pos === false)
        {
            return $ret;
        }
        else
        {
            return substr($ret, 0, $pos);            
        }
    }

?>